# 导入Django的url函数，用于定义URL模式
from django.urls import re_path as url
# 从当前目录导入views模块，该模块包含视图函数
from . import views


# urlpatterns是一个列表，用于存储所有的URL模式
urlpatterns = [
    # 定义一个URL模式，当访问根URL时，调用views.product_list视图函数
    # r'$$'表示根URL，'views.product_list'是处理该URL的视图函数，'name'是该URL模式的名称
    url(r'$', views.product_list, name='product_list'),
    # 定义一个URL模式，当访问形如/category_slug/的URL时，调用views.product_list视图函数
    # (?P<category_slug>[-\w]+)是一个命名捕获组，用于捕获URL中的分类slug
    # 'views.product_list'是处理该URL的视图函数，'name'是该URL模式的名称
    url(r'(?P<category_slug>[-\w]+)/$', views.product_list, name='product_list_by_category'),
    # 定义一个URL模式，当访问形如/id/slug/的URL时，调用views.product_detail视图函数
    # (?P<id>\d+)是一个命名捕获组，用于捕获URL中的产品ID
    # (?P<slug>[-\w]+)是一个命名捕获组，用于捕获URL中的产品slug
    # 'views.product_detail'是处理该URL的视图函数，'name'是该URL模式的名称
    url(r'(?P<id>\d+)/(?P<slug>[-\w]+)/$', views.product_detail, name='product_detail'),
]
# app_name是一个字符串，用于指定应用的名称，便于在Django项目中引用该应用的URL
app_name = 'myshop'